/*
 * lexer.h
 *
 *  Created on: Dec 12, 2010
 *      Author: cpy.prefers.you@gmail.com
 */
#ifndef LEXER_H_
#define LEXER_H_

#include <stdio.h>
#include "symbol_table.h"

#define INPUT_BUFFER_SIZE      0xffff
#define INPUT_READ_SIZE        0x7fff
#define INPUT_CACHE_SIZE       0xffff

#define TAB '\x0B'
#define LF  '\x0A'

extern FILE* TempFile;

extern void SetNameForArrayOrList(Symbol_T *Symbol, char *Name);
extern void LexerInit(FILE *InputStream, char **InputPointer, char *Prompt);
extern SymbolList_T *LexicalAnalyze(char **InputPointer, char *EndSign);

#endif /* LEXER_H_ */
